package com.stone.boot.pipeline.app.service;

import com.stone.boot.pipeline.domain.entity.PipelineNode;

import java.util.List;

/**
 * 流程器节点service
 *
 * @author Mr_wenpan@163.com 2021/8/5 10:12 下午
 */
public interface PipelineNodeService {

    /**
     * 批量更新或新增流水线节点
     *
     * @param pipelineNodes 已修改流水线行
     * @return 修改的行数量
     */
    int batchMerge(List<PipelineNode> pipelineNodes);

    /**
     * 批量新增流水线节点
     *
     * @param pipelineNodes 需要新增的流水线节点
     * @author Mr_wenpan@163.com 2021/8/6 2:19 下午
     */
    void batchCreate(List<PipelineNode> pipelineNodes);

    /**
     * 批量修改流程器节点
     *
     * @param pipelineNodes 待修改的流程器节点集合
     * @author Mr_wenpan@163.com 2021/8/6 2:38 下午
     */
    void batchUpdate(List<PipelineNode> pipelineNodes);

    /**
     * 批量创建和新增综合接口（重写）
     *
     * @param pipelineNodes 流程器节点集合
     * @author Mr_wenpan@163.com 2021/8/6 3:14 下午
     */
    void batchCreateAndUpdate(List<PipelineNode> pipelineNodes);

    /**
     * 批量删除流程器节点
     *
     * @param pipelineNodes 待删除的流程器节点
     * @author Mr_wenpan@163.com 2021/8/6 5:29 下午
     */
    void batchRemove(List<PipelineNode> pipelineNodes);
}